package cn.kgc.spring.day02.service.impl;

import cn.kgc.spring.day02.mapper.UserMapper;
import cn.kgc.spring.day02.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

/**
 * @author 课工场
 * @date 2024/11/6
 * @description
 *  @Autowired 可以实现属性的自动注入
 *  注入的规则是什么 ?
 *  byName
 *  byType
 *  既可以可以根据类型也可以根据属性名字实现注入,添加了该注解的属性必须完成属性的赋值,否则抛出异常
 *  原因是@Autowired注解中有一个注解属性required 默认值为true,可以通过将required属性值设置为false
 *  解决注入不成功抛出异常的问题,但是程序运行过程中可能出现空指针异常,建议不要将required设置为false
 *
 */
@Service
public class UserServiceImpl implements UserService {


    @Autowired
    @Qualifier("oracleMapperImpl")
    private UserMapper userMapper;

    // @Autowired
    // public  void  setUserMapper(UserMapper userMapper){
    //     System.out.println("--------setUserMapper-----------");
    //     this.userMapper = userMapper;
    // }

    @Override
    public Boolean removeUser(Integer id) {
        Integer line = userMapper.deleteUser(id);
        return line == 1;
    }
}
